home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 41
/
Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso
/
Aminet
/
gfx
/
edit
/
AmiCAD_2.06.lha
/
AmiCAD
/
ARexx
/
CadrerTexte.AmiCAD
< prev
next >
Wrap
Text File
|
2000-04-13
|
2KB
|
62 lines
/* Création d'un cadre avec effet de relief autour d'un texte ou plusieurs textes */
/* © R.Florac, Samedi 28 Mars 1998, version 1.00 */
/* Version 1.01: 13/04/98 */
/* Version 1.02: 07/06/98 Correction bug SAVEALL */
/* Version 1.03: 14/07/98 modification tracé lignes (lignes personnalisées) */
/* Version 1.04: 06/02/99 conservation du mode de tracé (utilisation DRAWMODE) */
/* Version 1.05: 25/05/99 modification placement traits horizontaux */
/* Version 1.06: 13/04/00 modification gestion SAVEALL */
/* $VER: CadrerTexte 1.06 (© R.Florac, 13/04/00) */
/* Seuls les textes "normaux" sont utilisables, les textes ayant été tournés ne sont pas gérés */
/* Les références ou valeurs de composants ne sont pas acceptées */
options results /* indispensable pour récupérer le résultat des macros */
signal on error /* pour l'interception des erreurs */
signal on syntax
'FIRSTSEL'; objet=result
if objet=0 then do
'MESSAGE("Sélectionnez d''abord"+CHR(10)+"les textes à encadrer")'
exit
end
'IF(NEXTSEL(FIRSTSEL)==0,GETPOS(FIRSTSEL)-1,0)'
if result>1 then do
'MESSAGE("Traitement direction texte"+CHR(10)+"pas encore implémenté")'
exit
end
xg=100000; xd = 0; yh = 10000; yb = 0; textes=objet
do while objet>0
'TYPE('objet')'
if result ~= 4 then do
'BLINK('objet')'
'MESSAGE("Objet de type incorrect"+CHR(10)+"Ne sélectionnez que"+CHR(10)+"des textes S.V.P.")'
exit
end
'COORDS('objet')'; coord=result
PARSE VAR coord x0 ',' y0
if x0<xg then xg=x0
if y0>yb then yb=y0
'WIDTH('objet')'; x0=x0+result
if x0>xd then xd=x0
'HEIGHT('objet')'; y0=y0-result
if y0<yh then yh=y0
textes=textes||','||objet
'NEXTSEL('objet')'; objet=result
end
xg=xg-4; xd=xd+6; yh=yh-1; yb=yb+2
'SAVEALL:MODE_TRACÉ=DRAWMODE(-1):MARK(L1=DRAW('xg','yh','xd','yh')):MARK(L2=DRAW('xg','yh','xg','yb')):DRAWMODE(-2):MARK(L3=DRAW('xd','yh'+1,'xd','yb')):MARK(L4=DRAW('xg'+1,'yb','xd','yb')):GROUP('textes',L1,L2,L3,L4):DRAWMODE(MODE_TRACÉ)'
exit
/* Traitement des erreurs, interruption du programme */
syntax:
erreur=RC
'MESSAGE("Script CadrerTexte"+CHR(10)+"Erreur de syntaxe"+CHR(10)+"en ligne 'SIGL'"+CHR(10)+"'errortext(erreur)'")'
exit
error:
'MESSAGE("Script CadrerTexte"+CHR(10)+"Erreur en ligne 'SIGL'")'
exit